home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (PO)
/
Nibble Volume 11, No. 08 (1990-08)(MindCraft Publishing)(Side A).zip
/
Nibble Volume 11, No. 08 (1990-08)(MindCraft Publishing)(Side A).po
/
ANIMATE.SHAPES.bas
next >
Wrap
BASIC Source File
|
1996-12-24
|
2KB
|
73 lines
10 REM *************************
20 REM * ANIMATE.SHAPES *
30 REM * BY DAVID HARRIS *
40 REM * COPYRIGHT(C) 1990 *
50 REM * MINDCRAFT PUBL. CORP. *
60 REM * CONCORD, MA 01742 *
70 REM *************************
80 :
90 : REM ** MAIN LOOP **
100 PRINT CHR$(21)
110 GOSUB 150: REM INITIALIZE
120 GOSUB 270: REM DRAW MESSAGE
130 GET B$: PRINT : TEXT : END
140 :
150 : REM ** INITIALIZE **
160 :
170 HCOLOR= 3: ONERR GOTO 720
180 IF PEEK(24576) < >2 THEN PRINT CHR$(4);"BLOAD SHAPES,A$6000"
190 POKE 232,0: POKE 233,96
200 SCALE= 1: ROT= 0
210 SCREEN = 0
220 X = 50:Y = 50:X1 = X:X2 = X:Y1 = Y:Y2 = Y:VECT = 0: REM NULL INITIAL VALUES
230 HGR : XDRAW 1 AT X +1,Y
240 HGR2 : XDRAW 1 AT X +1,Y
250 RETURN
260 :
270 : REM ** DRAW MESSAGE **
280 :
290 FOR LOOP = 1 TO 189
300 POKE 230,32 *(SCREEN +1)
310 XDRAW 1 AT X1 +1,Y1
320 IF VECT >10 THEN HPLOT X,Y: POKE 230,32 *(2 -SCREEN): HPLOT X,Y: POKE 230,32 *(SCREEN +1)
330 X1 = X2:Y1 = Y2
340 READ VECT
350 GOSUB 440: REM MOVE
360 X2 = X:Y2 = Y
370 IF VECT <10 THEN XDRAW 1 AT X +1,Y: GOTO 390
380 XDRAW 2 AT X,Y
390 POKE -16300 +SCREEN,0
400 SCREEN = 1 -SCREEN
410 NEXT LOOP
420 RETURN
430 :
440 : REM ** MOVE **
450 :
460 DIR = VECT: IF DIR >10 THEN DIR = DIR -10
470 IF DIR = 1 THEN Y = Y -1
480 IF DIR = 2 THEN Y = Y -1:X = X +1
490 IF DIR = 3 THEN X = X +1
500 IF DIR = 4 THEN Y = Y +1:X = X +1
510 IF DIR = 5 THEN Y = Y +1
520 IF DIR = 6 THEN Y = Y +1:X = X -1
530 IF DIR = 7 THEN X = X -1
540 IF DIR = 8 THEN Y = Y -1:X = X -1
550 RETURN
560 :
570 : REM ** LETTER DATA **
580 :
590 REM ** N **
600 DATA 15,15,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,1,14,14,15,14,15,14,14,14,11,11,11,11,11,11,11,11,11,4
610 REM ** I **
620 DATA 2,14,13,13,16,15,15,15,15,15,15,16,13,13
630 REM ** B **
640 DATA 2,1,1,1,1,1,2,12,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,11,13,13,14,15,15,16,17,17,3,3,14,15,15,16,17,17
650 REM ** B **
660 DATA 2,2,2,2,2,1,1,12,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,11,13,13,14,15,15,16,17,17,3,3,14,15,15,16,17,17
670 REM ** L **
680 DATA 2,2,2,2,2,1,1,12,15,15,15,15,15,15,15,15,13,13,13
690 REM ** E **
700 DATA 2,1,1,1,2,1,1,12,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,11,13,13,6,6,5,15,13,6,5,5,15,13,13
710 DATA 2,2,2
720 TEXT : IF PEEK(222) = 6 THEN HOME : PRINT "THE FILE SHAPES": PRINT "MUST BE ON THIS DISK": END
730 HOME : PRINT "ERROR #" PEEK(222)" IN LINE " PEEK(218) +256 *( PEEK(219): END